CARPETA_ASSEMBLY = assembly
FUENTES_ASSEMBLY = $(wildcard $(CARPETA_ASSEMBLY)/*.asm)
OBJETOS_ASSEMBLY = $(subst .asm,.o,$(FUENTES_ASSEMBLY))

CARPETA_LISTA = $(CARPETA_ASSEMBLY)/lista
FUENTES_LISTA = $(wildcard $(CARPETA_LISTA)/*.asm)
OBJETOS_LISTA = $(subst .asm,.o,$(FUENTES_LISTA))

all: ejecutable

ejecutable: main.cpp $(OBJETOS_ASSEMBLY) $(OBJETOS_LISTA)
	g++ `sdl-config --cflags --libs` -o ejecutable main.cpp $(OBJETOS_ASSEMBLY) $(OBJETOS_LISTA)
	
$(CARPETA_ASSEMBLY)/%.o: $(CARPETA_ASSEMBLY)/%.asm
	nasm -g -f elf -O00 -O2 -O3 $?
	
$(CARPETA_LISTA)/%.o: $(CARPETA_LISTA)/%.asm
	nasm -g -f elf -O00 -O2 -O3 $?
	
clean:
	rm ejecutable $(OBJETOS_ASSEMBLY) $(OBJETOS_LISTA)
